# @Version  : 1.0
# @Author   : 韩顺平

# 一个公司有多个员工, 请使用合适的数据类型保存员工的信息(比如员工号、年龄、名字、入职时间、薪水等), 要求
# 1) 员工号是入职时分配的, 唯一不重复
# clerks = {
# "0001": {
#     "age": 20,
#     "name": "贾宝玉",
#     "entry_time": "2011-11-11",
#     "sal": 12000
# },
# "0002": {
#     "age": 21,
#     "name": "薛宝钗",
#     "entry_time": "2015-12-12",
#     "sal": 10000
# },
# "0010": {
#     "age": 18,
#     "name": "林黛玉",
#     "entry_time": "2018-10-10",
#     "sal": 20000
# }
# }
# 2) 通过员工号(0010), 可以查询到员工的信息
# 3) 可以根据需要, 可以动态的增加、删除员工, 请演示添加和删除一个员工
# 增加: (员工号: 0020, 年龄: 30, 名字: 老韩, 入职时间: 2020-08-10, 薪水: 6000)
# 删除: 0001号员工
# 4) 可以根据需要, 可以修改员工的信息(比如年龄、名字、入职时间、薪水等), 请演示修改一个员工信息
# 修改 员工号为 0020的, 名字: 韩顺平, 入职时间: 1999 - 10 - 10, 薪水在原来的基础上增加10%
#
# 5) 要求: 遍历所有员工, 把所有员工的薪水, 在原工资的基础上, 增加20%
# 6) 按照如下格式输出所有员工信息
# 员工号为??的信息如下 年龄: ?? 名字: ?? 入职时间: ?? 薪水: ??


clerks = {
    "0001": {
        "age": 20,
        "name": "贾宝玉",
        "entry_time": "2011-11-11",
        "sal": 12000
    },
    "0002": {
        "age": 21,
        "name": "薛宝钗",
        "entry_time": "2015-12-12",
        "sal": 10000
    },
    "0010": {
        "age": 18,
        "name": "林黛玉",
        "entry_time": "2018-10-10",
        "sal": 20000
    }
}
# 2) 通过员工号(0010), 可以查询到员工的信息
print(f"员工号为0010的信息为 名字: {clerks['0010']['name']} "
      f"年龄: {clerks['0010']['age']} "
      f"入职时间: {clerks['0010']['entry_time']} "
      f"薪水: {clerks['0010']['sal']}")

# 以根据需要, 可以动态的增加、删除员工, 请演示添加和删除一个员工
# 增加: (员工号: 0020, 年龄: 30, 名字: 老韩, 入职时间: 2020-08-10, 薪水: 6000)
clerks['0020'] = {
    "age": 30,
    "name": "老韩",
    "entry_time": "2020-08-10",
    "sal": 6000
}

print("clerks:", clerks)

# 删除: 0001号员工
del clerks['0001']
print("-" * 60)
print("clerks:", clerks)

# 修改 员工号为 0020的, 名字: 韩顺平, 入职时间: 1999 - 10 - 10, 薪水在原来的基础上增加10%

clerks['0020']['name'] = '韩顺平'
clerks['0020']['entry_time'] = '1999-10-10'
clerks['0020']['sal'] += clerks['0020']['sal'] * 0.1

print("-" * 60)
print("clerks:", clerks)

# 5) 要求: 遍历所有员工, 把所有员工的薪水, 在原工资的基础上, 增加20%
keys = clerks.keys()
for key in keys:
    clerks[key]['sal'] += clerks[key]['sal'] * 0.2

print("-" * 60)
print("clerks:", clerks)

# 6) 按照如下格式输出所有员工信息
# 员工号为??的信息如下 年龄: ?? 名字: ?? 入职时间: ?? 薪水: ??

for key in keys:
    print(f"员工号为{key}的信息如下 "
          f"年龄: {clerks[key]['age']} "
          f"名字: {clerks[key]['name']} "
          f"入职时间: {clerks[key]['entry_time']} "
          f"薪水: {clerks[key]['sal']}")

print("*" * 60)
for key in keys:
    # 通过key得到员工的信息(字典)
    clerk_info = clerks[key]
    print(f"员工号为{key}的信息如下 "
          f"年龄: {clerk_info['age']} "
          f"名字: {clerk_info['name']} "
          f"入职时间: {clerk_info['entry_time']} "
          f"薪水: {clerk_info['sal']}")
